package com.partsoft.dits;

/**
 * 数据集成批处理
 */
public interface DataIntegrateBatch {
	
	/**
	 * 上级批处理。
	 */
	DataIntegrateBatch getParentBatch();
	
	/**
	 * 指定的过滤器
	 */
	DescriptorAccepter<EdgeDescriptor> getAccepter();
	
	/**
	 * 数据描述符。
	 */
	DataEdgeDescriptor getDataDescriptor();

	/**
	 * 输入参数
	 * @return
	 */
	Object getInputParameter();
	
	/**
	 * 是否已处理
	 */
	boolean isProcessed();
	
	/**
	 * 处理返回值
	 */
	Object getResult();
	
	/**
	 * 设置返回值
	 * @param result 可以为null
	 */
	void setResult(Object result);
	
	/**
	 * 是否有返回值
	 */
	boolean hasResult();
	
	/**
	 * 是否有异常
	 */
	boolean hasException();
	
	/**
	 * 获得异常
	 */
	Throwable getException();
	
	/**
	 * 设置异常
	 */
	void setException(Throwable e);
	
}
